Digital systems commonly operate in noisy conditions. Noisy conditions are usually defined as environments where there are signals unrelated to the signal of interest. In some cases, the noise content can be so large that false switching occurs. That is, noise can cause a metastable environment in which a digital low signal appears as a digital high signal, or vice versa.
A common approach to eliminating or reducing the effects of noise in a digital system is to employ logic that relies upon a hysterisis detection scheme, instead of a fixed threshold detection scheme. Hysterisis is a condition in which a variable quantity decreases at a rate different from that at which it increases, thereby producing a plot with a double-line curve. In a digital context, the hysterisis detection method is commonly referred to as a Schmitt-triggered input. A Schmitt-trigger is a circuit that produces uniform-amplitude output pulses from a random-amplitude input signal. For example, a Schmitt-trigger is commonly used to convert a sine wave to a square wave. Also, Schmitt-trigger circuits are particularly useful for providing a smooth reliable output from a circuit that may have some noise on the input. This ability to smooth-out noise is increasingly important for low voltage electronic devices.
Schmitt-triggers have a delay characteristic that may be disadvantageous. For example, a Schmitt-triggered circuit can cause a timing delay of 200 pico-seconds or more between the input and the output of the circuit. In a situation where precise timing between the input and output of the circuit is critical, it is a disadvantage to use a Schmitt-trigger, and a threshold-triggered operation would be more advantageous.
It would be highly desirable to improve the noise immunity of selected buffers in a programmable logic device by utilizing Schmitt-trigger technology, while simultaneously exploiting threshold-triggered buffers at circuit nodes in programmable logic devices that have certain critical timing requirements.